home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / ops5c.zip / JIG25.OPS < prev    next >
Text File  |  1988-06-23  |  9KB  |  205 lines

  1. (literalize Jigsawedge      ;element class representing an piece edge
  2.      pieceid                ;1 to 9 pieces for a 9 piece puzzle
  3.      edgeno                 ;1 to 24 for a 9 piece puzzle
  4.      piecetype              ;boundary or nil
  5.      piececolor             ;blue,red,or grey
  6. )
  7.  
  8. (literalize start)          ;element class for initialization
  9.  
  10.  
  11.  
  12.   (p fitjigsawpuzzle--deletion
  13.   {<r4> (Jigsawedge ^pieceid <x4> ^edgeno <y4> ^piecetype boundary)}
  14.   -(Jigsawedge ^pieceid { <w4> <> <x4> } ^edgeno <y4>)
  15.  -->
  16.  (write(crlf)4deleting edges <y4> on boundary piece <x4> (crlf))
  17.  (remove <r4>))
  18.  
  19.  
  20.  
  21.  
  22. (p fitjigsawpuzzle--boundary-color
  23.  {<r11> (Jigsawedge ^pieceid <x> ^edgeno <y> ^piecetype boundary
  24.                    ^piececolor <z>)}
  25.  {<r12> (Jigsawedge ^pieceid { <w> <> <x> } ^edgeno <y> ^piecetype boundary
  26.                    ^piececolor <z>)}
  27.  -->
  28.  (write(crlf)1put pieces <x> and <w> on boundary and color criterion <z>
  29.   together on edge <y> (crlf))
  30.  (remove <r11>)
  31.  (remove <r12>))
  32.  
  33.  
  34.  
  35.  
  36. (p fitjigsawpuzzle--boundary
  37.     {<r21> (Jigsawedge ^pieceid <x1> ^edgeno <y1> ^piecetype boundary)}
  38.   {<r22> (Jigsawedge ^pieceid { <w1> <> <x1> } ^edgeno <y1>
  39.                       ^piecetype boundary)}
  40. -->
  41. (write(crlf)2put pieces <x1> and <w1> on boundary criterion together on
  42.  edge <y1> (crlf))
  43.  (remove <r21>)
  44.  (remove <r22>))
  45.  
  46.  
  47.  
  48.  
  49. (p fitjigsawpuzzle--color
  50.   {<r31> (Jigsawedge ^pieceid <x3> ^edgeno <y3> ^piececolor <z3>)}
  51.   {<r32> (Jigsawedge ^pieceid { <w3> <> <x3> } ^edgeno <y3> ^piececolor <z3>)}
  52.   -->
  53.   (write(crlf)3put pieces <x3> and <w3> together on color criterion <z3>
  54.    on edge <y3> (crlf))
  55.   (remove <r31>)
  56.   (remove <r32>))
  57.  
  58.  
  59.  
  60. (p fitjigsawpuzzle--
  61.  {<r51> (Jigsawedge ^pieceid <x2> ^edgeno <y2>)}
  62.  {<r52> (Jigsawedge ^pieceid { <w2> <> <x2> } ^edgeno <y2>)}
  63. -->
  64. (write(crlf)5put pieces <x2> and <w2> on random criterion together on
  65.  edge <y2> (crlf))
  66. (remove <r51>)
  67. (remove <r52>))
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  (p Initialize
  75.     {(start) <initialize>}
  76.  
  77.   -->
  78.  
  79. (make Jigsawedge ^pieceid 1 ^edgeno 1 ^piecetype boundary ^piececolor red)
  80. (make Jigsawedge ^pieceid 1 ^edgeno 2 ^piecetype boundary ^piececolor red)
  81. (make Jigsawedge ^pieceid 1 ^edgeno 3 ^piecetype boundary ^piececolor red)
  82. (make Jigsawedge ^pieceid 1 ^edgeno 4 ^piecetype boundary ^piececolor red)
  83.  
  84. (make Jigsawedge ^pieceid 2 ^edgeno 3 ^piecetype boundary ^piececolor red)
  85. (make Jigsawedge ^pieceid 2 ^edgeno 5 ^piecetype boundary ^piececolor red)
  86. (make Jigsawedge ^pieceid 2 ^edgeno 6 ^piecetype boundary ^piececolor red)
  87. (make Jigsawedge ^pieceid 2 ^edgeno 7 ^piecetype boundary ^piececolor red)
  88.  
  89. (make Jigsawedge ^pieceid 3 ^edgeno 6 ^piecetype boundary ^piececolor red)
  90. (make Jigsawedge ^pieceid 3 ^edgeno 8 ^piecetype boundary ^piececolor red)
  91. (make Jigsawedge ^pieceid 3 ^edgeno 9 ^piecetype boundary ^piececolor red)
  92. (make Jigsawedge ^pieceid 3 ^edgeno 10 ^piecetype boundary ^piececolor red)
  93.  
  94. (make Jigsawedge ^pieceid 4 ^edgeno 11 ^piecetype boundary ^piececolor red)
  95. (make Jigsawedge ^pieceid 4 ^edgeno 12 ^piecetype boundary ^piececolor red)
  96. (make Jigsawedge ^pieceid 4 ^edgeno 13 ^piecetype boundary ^piececolor red)
  97. (make Jigsawedge ^pieceid 4 ^edgeno  9 ^piecetype boundary ^piececolor red)
  98.  
  99. (make Jigsawedge ^pieceid 5 ^edgeno 12 ^piecetype boundary ^piececolor red)
  100. (make Jigsawedge ^pieceid 5 ^edgeno 14 ^piecetype boundary ^piececolor red)
  101. (make Jigsawedge ^pieceid 5 ^edgeno 15 ^piecetype boundary ^piececolor red)
  102. (make Jigsawedge ^pieceid 5 ^edgeno 16 ^piecetype boundary ^piececolor red)
  103.  
  104. (make Jigsawedge ^pieceid 6 ^edgeno 4  ^piecetype boundary ^piececolor blue)
  105. (make Jigsawedge ^pieceid 6 ^edgeno 17 ^piecetype boundary ^piececolor blue)
  106. (make Jigsawedge ^pieceid 6 ^edgeno 18 ^piecetype boundary ^piececolor blue)
  107. (make Jigsawedge ^pieceid 6 ^edgeno 19 ^piecetype boundary ^piececolor blue)
  108.  
  109. (make Jigsawedge ^pieceid 7 ^edgeno 7  ^piececolor blue)
  110. (make Jigsawedge ^pieceid 7 ^edgeno 18  ^piececolor blue)
  111. (make Jigsawedge ^pieceid 7 ^edgeno 20  ^piececolor blue)
  112. (make Jigsawedge ^pieceid 7 ^edgeno 21  ^piececolor blue)
  113.  
  114. (make Jigsawedge ^pieceid 8 ^edgeno 10  ^piececolor blue)
  115. (make Jigsawedge ^pieceid 8 ^edgeno 20  ^piececolor blue)
  116. (make Jigsawedge ^pieceid 8 ^edgeno 22  ^piececolor blue)
  117. (make Jigsawedge ^pieceid 8 ^edgeno 23  ^piececolor blue)
  118.  
  119. (make Jigsawedge ^pieceid 9 ^edgeno 22  ^piececolor blue)
  120. (make Jigsawedge ^pieceid 9 ^edgeno 13  ^piececolor blue)
  121. (make Jigsawedge ^pieceid 9 ^edgeno 24  ^piececolor blue)
  122. (make Jigsawedge ^pieceid 9 ^edgeno 25  ^piececolor blue)
  123.  
  124. (make Jigsawedge ^pieceid 10 ^edgeno 24  ^piecetype boundary ^piececolor blue)
  125. (make Jigsawedge ^pieceid 10 ^edgeno 16 ^piecetype boundary ^piececolor blue)
  126. (make Jigsawedge ^pieceid 10 ^edgeno 27 ^piecetype boundary ^piececolor blue)
  127. (make Jigsawedge ^pieceid 10 ^edgeno 26 ^piecetype boundary ^piececolor blue)
  128.  
  129. (make Jigsawedge ^pieceid 11 ^edgeno 29  ^piecetype boundary ^piececolor green)
  130. (make Jigsawedge ^pieceid 11 ^edgeno 30 ^piecetype boundary ^piececolor green)
  131. (make Jigsawedge ^pieceid 11 ^edgeno 28 ^piecetype boundary ^piececolor green)
  132. (make Jigsawedge ^pieceid 11 ^edgeno 19 ^piecetype boundary ^piececolor green)
  133.  
  134. (make Jigsawedge ^pieceid 12 ^edgeno 21  ^piececolor green)
  135. (make Jigsawedge ^pieceid 12 ^edgeno 30  ^piececolor green)
  136. (make Jigsawedge ^pieceid 12 ^edgeno 31  ^piececolor green)
  137. (make Jigsawedge ^pieceid 12 ^edgeno 32  ^piececolor green)
  138.  
  139. (make Jigsawedge ^pieceid 13 ^edgeno 31  ^piececolor green)
  140. (make Jigsawedge ^pieceid 13 ^edgeno 23  ^piececolor green)
  141. (make Jigsawedge ^pieceid 13 ^edgeno 33  ^piececolor green)
  142. (make Jigsawedge ^pieceid 13 ^edgeno 34  ^piececolor green)
  143.  
  144. (make Jigsawedge ^pieceid 14 ^edgeno 25  ^piececolor green)
  145. (make Jigsawedge ^pieceid 14 ^edgeno 36  ^piececolor green)
  146. (make Jigsawedge ^pieceid 14 ^edgeno 33  ^piececolor green)
  147. (make Jigsawedge ^pieceid 14 ^edgeno 35  ^piececolor green)
  148.  
  149. (make Jigsawedge ^pieceid 15 ^edgeno 27  ^piecetype boundary ^piececolor green)
  150. (make Jigsawedge ^pieceid 15 ^edgeno 35  ^piecetype boundary ^piececolor green)
  151. (make Jigsawedge ^pieceid 15 ^edgeno 38  ^piecetype boundary ^piececolor green)
  152. (make Jigsawedge ^pieceid 15 ^edgeno 37  ^piecetype boundary ^piececolor green)
  153.  
  154. (make Jigsawedge ^pieceid 16 ^edgeno 39  ^piecetype boundary ^piececolor violet)
  155. (make Jigsawedge ^pieceid 16 ^edgeno 40  ^piecetype boundary ^piececolor violet)
  156. (make Jigsawedge ^pieceid 16 ^edgeno 29  ^piecetype boundary ^piececolor violet)
  157. (make Jigsawedge ^pieceid 16 ^edgeno 41  ^piecetype boundary ^piececolor violet)
  158.  
  159. (make Jigsawedge ^pieceid 17 ^edgeno 42  ^piececolor violet)
  160. (make Jigsawedge ^pieceid 17 ^edgeno 43  ^piececolor violet)
  161. (make Jigsawedge ^pieceid 17 ^edgeno 32  ^piececolor violet)
  162. (make Jigsawedge ^pieceid 17 ^edgeno 41  ^piececolor violet)
  163.  
  164. (make Jigsawedge ^pieceid 18 ^edgeno 42  ^piececolor violet)
  165. (make Jigsawedge ^pieceid 18 ^edgeno 44  ^piececolor violet)
  166. (make Jigsawedge ^pieceid 18 ^edgeno 45  ^piececolor violet)
  167. (make Jigsawedge ^pieceid 18 ^edgeno 34  ^piececolor violet)
  168.  
  169. (make Jigsawedge ^pieceid 19 ^edgeno 46  ^piececolor violet)
  170. (make Jigsawedge ^pieceid 19 ^edgeno 47  ^piececolor violet)
  171. (make Jigsawedge ^pieceid 19 ^edgeno 36  ^piececolor violet)
  172. (make Jigsawedge ^pieceid 19 ^edgeno 44  ^piececolor violet)
  173.  
  174. (make Jigsawedge ^pieceid 20 ^edgeno 46  ^piecetype boundary ^piececolor violet)
  175. (make Jigsawedge ^pieceid 20 ^edgeno 48  ^piecetype boundary ^piececolor violet)
  176. (make Jigsawedge ^pieceid 20 ^edgeno 49  ^piecetype boundary ^piececolor violet)
  177. (make Jigsawedge ^pieceid 20 ^edgeno 38  ^piecetype boundary ^piececolor violet)
  178.  
  179. (make Jigsawedge ^pieceid 21 ^edgeno 40  ^piecetype boundary ^piececolor white)
  180. (make Jigsawedge ^pieceid 21 ^edgeno 50  ^piecetype boundary ^piececolor white)
  181. (make Jigsawedge ^pieceid 21 ^edgeno 52  ^piecetype boundary ^piececolor white)
  182. (make Jigsawedge ^pieceid 21 ^edgeno 51  ^piecetype boundary ^piececolor white)
  183.  
  184. (make Jigsawedge ^pieceid 22 ^edgeno 43  ^piececolor white)
  185. (make Jigsawedge ^pieceid 22 ^edgeno 53  ^piececolor white)
  186. (make Jigsawedge ^pieceid 22 ^edgeno 54  ^piececolor white)
  187. (make Jigsawedge ^pieceid 22 ^edgeno 52  ^piececolor white)
  188.  
  189. (make Jigsawedge ^pieceid 23 ^edgeno 45  ^piececolor white)
  190. (make Jigsawedge ^pieceid 23 ^edgeno 53  ^piececolor white)
  191. (make Jigsawedge ^pieceid 23 ^edgeno 55  ^piececolor white)
  192. (make Jigsawedge ^pieceid 23 ^edgeno 56  ^piececolor white)
  193.  
  194. (make Jigsawedge ^pieceid 24 ^edgeno 47  ^piececolor white)
  195. (make Jigsawedge ^pieceid 24 ^edgeno 55  ^piececolor white)
  196. (make Jigsawedge ^pieceid 24 ^edgeno 57  ^piececolor white)
  197. (make Jigsawedge ^pieceid 24 ^edgeno 58  ^piececolor white)
  198.  
  199. (make Jigsawedge ^pieceid 25 ^edgeno 49  ^piecetype boundary ^piececolor white)
  200. (make Jigsawedge ^pieceid 25 ^edgeno 57  ^piecetype boundary ^piececolor white)
  201. (make Jigsawedge ^pieceid 25 ^edgeno 59  ^piecetype boundary ^piececolor white)
  202. (make Jigsawedge ^pieceid 25 ^edgeno 60  ^piecetype boundary ^piececolor white)
  203.  
  204. (remove <initialize>))
  205.